package com.whfc.mach.param.maintain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.whfc.mach.dto.maintain.MaintainItemDTO;
import com.whfc.mach.dto.maintain.MaintainPayDTO;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 添加保养记录的参数
 *
 * @author sun_guodong
 * @date 2021-08-12
 */
@Data
public class MachMaintainAddParam implements Serializable {
    /**
     * 组织机构id
     */
    @NotNull
    private Integer deptId;
    /**
     * 设备id
     */
    @NotNull
    private Integer machId;
    /**
     * 设备编码
     */
    @NotEmpty
    private String machCode;
    /**
     * 设备类型
     */
    @NotEmpty
    private String machTypeName;
    /**
     * 保养日期
     */
    @NotNull
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date maintainDate;
    /**
     * 工作里程
     */
    private Double workMile;
    /**
     * 工作时长
     */
    private Double workHour;
    /**
     * 保养说明
     */
    @NotEmpty
    @Length(max = 200)
    private String maintainRemark;
    /**
     * 保养文件
     */
    @NotEmpty
    private List<String> fileList;
    /**
     * 保养费用
     */
    @NotEmpty
    private List<MaintainPayDTO> payList;
    /**
     * 保养项目
     */
    @NotEmpty
    private List<MaintainItemDTO> itemList;

    private Integer maintainUserId;

    private String maintainUserName;
}
